Skip to content

Conversation

@DAUN3046
Copy link
Collaborator

정직하게 정렬했다. 다만 입력값이 최대 100만 개였기에 최대한 시간복잡도가 log(n)과 비슷한 정도의 방식이 필요했다는 것은 감을 잡을 수 있었다. 어떤 정렬이 그에 맞는지 찾고 빠르게 코드를 작성할 수 있는지가 중요한데, 운 좋게도 이 문제는 sys라이브러리의 sys.stdin.readline()을 사용해서 통과할 수 있었다.
(참고로 int로 변환할 때엔 rstrip()을 사용할 필요가 없다고 해서 뺐다.)

다른 정렬 방식들을 사용한 풀이들이 궁금해서 찾아봤는데, 병합 정렬의 경우 주어진 예제로는 time라이브러리를 이용하여 시간을 재본 결과 되려 더 느렸기 때문에(게다가 소요시간도 3초대로 sys 라이브러리를 사용하지 않았을 때와 비등비등했다), 각 정렬들의 결과물을 대충 예상하기 어렵다는 점이 막막한 것 같다.

코딩테스트를 할 땐 직접 여러 정렬을 구현하면서고 많은 양의 input을 직접 넣어서 시간을 잴 환경이 아니므로, 역시 평소 문제를 많이 풀어보면서 시간복잡도를 계산하는 감을 길러야 될 것이다.

@ghost
Copy link

ghost commented May 9, 2022

오 병합 정렬을 time 을 사용해서 구현하군요 지식이 늘었습니다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant